/*
 * lcd3000.h
 *
 * Created: 12.04.2013 16:49:19
 *  Author: Stefan
 */ 


#ifndef LCD3000_H_
#define LCD3000_H_


//#define RGB(R,G,B) ((((R) & 0x1f) << 11) + (((G) & 0x3f) << 5) + ((B) & 0x1f))

#define RGB(R,G,B) ((((R) & 0xF8) << 8) + (((G) & 0xF8) << 3) + ((B) >> 3))


void LcdInit();
void LcdClear(uint16_t color);
void LcdFillRect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint16_t color);
void LcdDrawRect(uint8_t left, uint8_t top, uint8_t right, uint8_t bottom, uint16_t color);
void LcdPrint(const char* Text, const uint8_t Font[], uint8_t left, uint8_t top, uint8_t right, unsigned int forecolor, unsigned int backcolor);


#define bright_blue		0b1101111011011111	//Predefined colors will make programmers life easier
#define blue			0b0000000000011111
#define dark_blue		0b0000000000010011
#define bright_yellow	0b1111111111001100	//as the display uses 65.536 colors we have to define double-bytes for each color
#define yellow			0b1111111111100000	//Check the programmers manual to learn how to define your own color
#define orange			0b1111110011000110
#define bright_red		0b1111100011100011
#define red				0b1111100000000000
#define dark_red		0b1001100000000000
#define bright_green 	0b1001111111110011
#define green 			0b0000011111100000
#define dark_green 		0b0000001101100000
#define white 			0b1111111111111111
#define grey 			0b0011100011100111
#define black 			0b0000000000000000


#endif /* LCD3000_H_ */